home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / djgpp / src / binutils.252 / gas / tc.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-06-03  |  3.6 KB  |  112 lines

  1. /* tc.h - target cpu dependent
  2.  
  3.    Copyright (C) 1987, 1990, 1991, 1992 Free Software Foundation, Inc.
  4.  
  5.    This file is part of GAS, the GNU Assembler.
  6.  
  7.    GAS is free software; you can redistribute it and/or modify
  8.    it under the terms of the GNU General Public License as published by
  9.    the Free Software Foundation; either version 2, or (at your option)
  10.    any later version.
  11.  
  12.    GAS is distributed in the hope that it will be useful,
  13.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  14.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15.    GNU General Public License for more details.
  16.  
  17.    You should have received a copy of the GNU General Public License
  18.    along with GAS; see the file COPYING.  If not, write to
  19.    the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  20.  
  21. /* In theory (mine, at least!) the machine dependent part of the assembler
  22.    should only have to include one file.  This one.  -- JF */
  23.  
  24. extern const pseudo_typeS md_pseudo_table[];
  25.  
  26. /* JF moved this here from as.h under the theory that nobody except MACHINE.c
  27.    and write.c care about it anyway. */
  28.  
  29. struct relax_type
  30. {
  31.   /* Forward reach. Signed number. > 0. */
  32.   long rlx_forward;
  33.   /* Backward reach. Signed number. < 0. */
  34.   long rlx_backward;
  35.  
  36.   /* Bytes length of this address. */
  37.   unsigned char rlx_length;
  38.  
  39.   /* Next longer relax-state.  0 means there is no 'next' relax-state. */
  40.   relax_substateT rlx_more;
  41. };
  42.  
  43. typedef struct relax_type relax_typeS;
  44.  
  45. extern const relax_typeS md_relax_table[];    /* Define it in MACHINE.c */
  46.  
  47. extern const int md_reloc_size;    /* Size of a relocation record */
  48.  
  49. char *md_atof PARAMS ((int what_statement_type, char *literalP, int *sizeP));
  50. #ifndef md_estimate_size_before_relax
  51. int md_estimate_size_before_relax PARAMS ((fragS * fragP, segT segment));
  52. #endif
  53. int md_parse_option PARAMS ((int c, char *arg));
  54. void md_show_usage PARAMS ((FILE *));
  55. long md_pcrel_from PARAMS ((fixS * fixP));
  56. short tc_coff_fix2rtype PARAMS ((fixS * fixP));
  57. void md_assemble PARAMS ((char *str));
  58. void md_begin PARAMS ((void));
  59. #ifndef md_create_long_jump
  60. void md_create_long_jump PARAMS ((char *ptr, addressT from_addr,
  61.                   addressT to_addr, fragS * frag,
  62.                   symbolS * to_symbol));
  63. #endif
  64. #ifndef md_create_short_jump
  65. void md_create_short_jump PARAMS ((char *ptr, addressT from_addr,
  66.                    addressT to_addr, fragS * frag,
  67.                    symbolS * to_symbol));
  68. #endif
  69. void md_number_to_chars PARAMS ((char *buf, valueT val, int n));
  70.  
  71. #ifndef md_operand
  72. void md_operand PARAMS ((expressionS * expressionP));
  73. #endif
  74.  
  75. #ifdef BFD_ASSEMBLER
  76. int md_apply_fix PARAMS ((fixS * fixP, valueT *val));
  77. #ifndef md_convert_frag
  78. void md_convert_frag PARAMS ((bfd * headers, segT sec, fragS * fragP));
  79. #endif
  80. #ifndef tc_headers_hook
  81. void tc_headers_hook PARAMS ((segT *, fixS *));
  82. #endif
  83. #ifndef RELOC_EXPANSION_POSSIBLE
  84. extern arelent *tc_gen_reloc PARAMS ((asection *, fixS *));
  85. #else
  86. extern arelent **tc_gen_reloc PARAMS ((asection *, fixS *));
  87. #endif
  88. #else /* not BFD_ASSEMBLER */
  89. void md_apply_fix PARAMS ((fixS * fixP, long val));
  90. #ifndef md_convert_frag
  91. void md_convert_frag PARAMS ((object_headers * headers, fragS * fragP));
  92. #endif
  93.  
  94. #ifndef tc_crawl_symbol_chain
  95. void tc_crawl_symbol_chain PARAMS ((object_headers * headers));
  96. #endif /* tc_crawl_symbol_chain */
  97.  
  98. #ifndef tc_headers_hook
  99. void tc_headers_hook PARAMS ((object_headers * headers));
  100. #endif /* tc_headers_hook */
  101. #endif /* BFD_ASSEMBLER */
  102.  
  103. #ifndef md_section_align
  104. valueT md_section_align PARAMS ((segT seg, valueT size));
  105. #endif
  106.  
  107. #ifndef md_undefined_symbol
  108. symbolS *md_undefined_symbol PARAMS ((char *name));
  109. #endif
  110.  
  111. /* end of tc.h */
  112.